package com.baoyang.service;

import com.baoyang.entity.BaoyangUser;

import java.time.LocalDate;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baoyang.entity.vo.DriverUnloadCountRespVO;
import com.baoyang.entity.vo.InfoRespVO;
import com.baoyang.entity.vo.PcDashboardRespVO;

public interface BaoyangUserService {
    List<BaoyangUser> listAll();

    BaoyangUser login(BaoyangUser user);

    boolean register(BaoyangUser user);

    BaoyangUser getByUserName(String phone);

    /**
     * 分页查询用户列表，排除id=1，可根据nickName模糊查询和审核状态筛选
     */
    IPage<BaoyangUser> pageUserList(Page<BaoyangUser> page, String nickName, Integer auditStatus);

    boolean audit(BaoyangUser user);

    boolean update(BaoyangUser user);

    boolean removeById(String id);

    InfoRespVO getinfo(String userName);

    IPage<DriverUnloadCountRespVO> driverUnloadCount(Integer pageNum, Integer pageSize, String startTime, String endTime, String carNumber, String nickName);

    PcDashboardRespVO dashboardCount();

    List<BaoyangUser> driverList();
}